﻿using System;
using System.Collections.Generic;
using LitJson;
using OestsCommon;
using OestsCommon.Model;
using OestsCommon.TcpNet;
using OestsDataBase;
using OestsServer.Managers;
using OSESServer;
using OestsServer.Net;

namespace OestsServer.Handlers
{
	public class StartMultiTaskHandler : HandlerBase
	{
		public override PacketKey PKey => PacketKey.StartMultiTask;

		public override void Execute(ClientChannel client, Request ResquestPacket)
		{
			//int roomId = int.Parse(ResquestPacket.DataStr);
			//foreach (var r in RoomManager.Instance.RoomList)
			//{
			//	if (r.RoomId == roomId)
			//	{
			//		//遍历房间中的所有玩家，检查所有玩家是否都选择了岗位
			//		for (int i = 0; i < r.StudentTemps.Count; i++)
			//		{
			//			if (!r.DicPostIdStudentId.ContainsValue(r.StudentTemps[i]))
			//			{
			//				ResponsePacket.ReturnCode = ReturnCode.Fail;
			//				ResponsePacket.RetrunMessage = "玩家未指定岗位，无法开始！";
			//				ResponsePacket.DataObject = r;
			//				client.Send(ResponsePacket);
			//				return;
			//			}
			//		}
			//		//均选择了岗位
			//		r.InGame = true;
			//		ResponsePacket.ReturnCode = ReturnCode.Success;
			//		ResponsePacket.DataObject = r;
			//		//如果全部由玩家扮演，提示积分，如果有电脑扮演，提示不积分
			//		if (r.StudentTemps.Count == r.DicPostIdStudentId.Count)
			//		{
			//			ResponsePacket.RetrunMessage = "本次任务中所有岗位均由玩家扮演，将会进行积分！";
			//		}
			//		else
			//		{
			//			ResponsePacket.RetrunMessage = "本次任务中有岗位为电脑扮演，不会积分！";
			//		}
			//		BroadcastInRoom(r, ResponsePacket);
			//		break;
			//	}
			//}int roomId = int.Parse(ResquestPacket.DataStr);
			//foreach (var r in RoomManager.Instance.RoomList)
			//{
			//	if (r.RoomId == roomId)
			//	{
			//		//遍历房间中的所有玩家，检查所有玩家是否都选择了岗位
			//		for (int i = 0; i < r.StudentTemps.Count; i++)
			//		{
			//			if (!r.DicPostIdStudentId.ContainsValue(r.StudentTemps[i]))
			//			{
			//				ResponsePacket.ReturnCode = ReturnCode.Fail;
			//				ResponsePacket.RetrunMessage = "玩家未指定岗位，无法开始！";
			//				ResponsePacket.DataObject = r;
			//				client.Send(ResponsePacket);
			//				return;
			//			}
			//		}
			//		//均选择了岗位
			//		r.InGame = true;
			//		ResponsePacket.ReturnCode = ReturnCode.Success;
			//		ResponsePacket.DataObject = r;
			//		//如果全部由玩家扮演，提示积分，如果有电脑扮演，提示不积分
			//		if (r.StudentTemps.Count == r.DicPostIdStudentId.Count)
			//		{
			//			ResponsePacket.RetrunMessage = "本次任务中所有岗位均由玩家扮演，将会进行积分！";
			//		}
			//		else
			//		{
			//			ResponsePacket.RetrunMessage = "本次任务中有岗位为电脑扮演，不会积分！";
			//		}
			//		BroadcastInRoom(r, ResponsePacket);
			//		break;
			//	}
			//}
		}
	}
}
